\section{Qualità}

Prendendo come riferimento lo standard ISO/IEC 9126, l'azienda \nomeAzienda ~si impegna a garantire le seguenti qualità per il prodotto \nomeProdotto.

\subsection{Funzionalità}
L’applicazione prodotta deve soddisfare tutti i requisiti individuati nell’Analisi dei Requisiti nel modo più completo ed economico possibile, garantendo la sicurezza del prodotto e dei suoi componenti, e adeguandosi alle norme e alle prescrizioni imposte.
\begin{itemize}
	\item \textbf{Misura}: verrà utilizzata come unità di misura la quantità dei requisiti soddisfatti
	\item \textbf{Metrica}:  si stabilisce che la soglia di sufficienza sia il soddisfacimento di tutti i requisiti obbligatori
	\item \textbf{Strumenti}: per assicurare le funzionalità del prodotto sarà sufficiente aver soddisfatto tutti i test
\end{itemize}

\subsection{Affidabilità}
L’applicazione deve dimostrarsi robusta, di facile ripristino e recupero in caso di errori, e aderire alle norme e alle prescrizioni stabilite.
\begin{itemize}
	\item \textbf{Misura}: verrà utilizzata come unità di misura la quantità di esecuzioni dell’applicazione andate a buon fine
	\item \textbf{Metrica}: le esecuzioni dovranno spaziare su tutta la gamma delle possibili casistiche. Il numero di esecuzioni andate a buon fine dovrà essere rapportato al numero totale delle casistiche considerate
	\item \textbf{Strumenti}: verrà definito successivamente
\end{itemize}

\subsection{Usabilità}
L’applicazione deve risultare comprensibile, facilmente apprendibile e soprattutto aderire a norme e prescrizioni per garantire facilità d’uso e soddisfacimento delle necessità dell’utente.
\begin{itemize}
	\item \textbf{Misura}: non è possibile definire una unità di misura per tale qualità
	\item \textbf{Metrica}: non esistono metriche obiettive riguardanti l’usabilità. Si cercherà comunque di offrire la migliore esperienza di utilizzo per tutti coloro che usano il prodotto
	\item \textbf{Strumenti}: non esistono strumenti sistematici per tale misura, saranno dunque raccolti i pareri degli utilizzatori
\end{itemize}

\subsection{Efficienza}
L’applicazione deve fornire tutte le funzionalità nel minor tempo possibile e con il minimo utilizzo di risorse.
\begin{itemize}
	\item \textbf{Misura}: il tempo di latenza per ottenere una risposta dal programma ed il tempo di latenza per ottenere una risposta simulando un sovraccarico della rete
	\item \textbf{Metrica}: la sufficienza viene definita come un tempo di latenza minore del 20\% della media dei tempi di latenza dell’applicativo web
	\item \textbf{Strumenti}: ApacheBench, per garantire che l’applicativo web sia sempre efficiente, anche in caso di intenso traffico di rete
\end{itemize}

\subsection{Manutenibilità}
L’applicazione deve essere analizzabile, facilmente modificabile e verificabile.
\begin{itemize}
	\item \textbf{Misura}: verranno rispettate le seguenti misure; Complessità ciclomatica,  numero di parametri, numero di campi dati per classe, numero di livelli di annidamento e il grado di accoppiamento
	\item \textbf{Metrica}: saranno stabiliti i livelli minimi e/o massimi per le misure sopra descritte
	\item \textbf{Strumenti}: da definire per ogni ambiente di sviluppo
\end{itemize}

\subsection{Portabilità}
L’applicazione deve essere adattabile e compatibile con ambienti d’uso diversi.
\begin{itemize}
	\item \textbf{Misura}:  il frontend deve essere compatibile e pienamente funzionale con tutti i browser che aderiscono agli standard W3C
	\item \textbf{Metrica}: dimostrazione di superamento della validazione del codice del frontend web
	\item \textbf{Strumenti}: gli strumenti di validazione forniti dal W3C
\end{itemize}


